package lxq.asia;

public class Main {
    public static void main(String[] args) {
//        int[][] testArray=new int[11][11];
//        testArray[1][2]=1;
//        testArray[2][3]=2;
//        testArray[6][5]=10;
//        testArray[3][10]=19;
//        testArray[9][9]=11;
//        testArray[4][2]=15;
//        testArray[10][8]=9;
//        testArray[7][10]=18;
//        System.out.println("原数组");
//        for (int[] ints : testArray) {
//            for (int anInt : ints) {
//                System.out.print("\t"+anInt);
//            }
//            System.out.println();
//        }
//        SparseArray.toSparse(testArray);

//        ArrayQueue queue=new ArrayQueue();
//        queue.push(100);
//        queue.push(15);
//        queue.printQueue();
//        System.out.println(queue.pop());
//        System.out.println(queue.pop());
//        queue.printQueue();
//        for (var i=1;i<=13;i++){
//            queue.push(i);
//            queue.printQueue();
//        }
//        queue.printQueue();
//        oneWayLinkTesting();
        ladderLinkTest();
    }

    static void oneWayLinkTesting(){
        LinkNode node4=new LinkNode("4th",4,null);
        LinkNode node3=new LinkNode("3rd",3,node4);
        LinkNode node2=new LinkNode("2nd",2,node3);
        LinkNode node1=new LinkNode("1st",1,node2);
        LinkNode root=new LinkNode();
        root.next=node1;
        OneWayLink.reverse2(root);
    }

    static void circularArrayQueueTest(){
        CircularArrayQueue queue=new CircularArrayQueue(10);
        System.out.println();
        System.out.print("存入：");
        for (var i=1;i<=13;i++){
            queue.push(i);
            System.out.print(i+" ");
        }
        System.out.println();
        System.out.print("取出：");
        for (var i=1;i<=5;i++){
            System.out.print(queue.pop()+" ");
        }
        System.out.println();
        System.out.print("再存：");
        for (var i=1;i<=6;i++){
            queue.push(i);
            System.out.print(i+" ");
        }

        System.out.println();
        queue.printQueue();
        System.out.println("结束");
    }

    static void ladderLinkTest(){
        LinkNode node4=new LinkNode("4th",4,null);
        LinkNode node3=new LinkNode("3rd",3,null);
        LinkNode node2=new LinkNode("2nd",2,null);
        LinkNode node1=new LinkNode("1st",1,null);
        LadderLink ladderLink=new LadderLink(node1);
        ladderLink.insert(node2);
        ladderLink.insert(node3);
        ladderLink.insert(node4);
        System.out.println("节点数 ： "+ladderLink.size());
        LadderLink.printListFromRear(ladderLink.getHead().next);
        ladderLink.delete(3);
        LadderLink.printListFromRear(ladderLink.getHead().next);
        ladderLink.insert(node3);
        LadderLink.printListFromRear(ladderLink.getHead().next);
    }
}